/*
	Copyright (c) 2007, ANYwebcam.com Pty Ltd. All rights reserved.

	The software in this package is published under the terms of the BSD style 
	license, a copy of which has been included with this distribution in the 
	license.txt file.
*/
package 
{
	import com.anywebcam.di.*;
	import com.anywebcam.di.component.*;
	import com.anywebcam.util.*;

	import flexunit.framework.TestSuite;

	public class DITest
	{
		public static function suite():TestSuite
		{
			var ts:TestSuite = new TestSuite();

			// utils
			ts.addTest( ArrayPeerTest.suite() );

			// reflection
			ts.addTest( ReflectionTest.suite() );
			
			// containers
			ts.addTest( DefaultDIContainerTest.suite() );
			
			// components
			ts.addTest( AbstractComponentTest.suite() );
			ts.addTest( CachingComponentTest.suite() );
			ts.addTest( DecoratingComponentTest.suite() );
			ts.addTest( InstanceComponentTest.suite() );
			ts.addTest( InstantiatingComponentTest.suite() );
			ts.addTest( ConstructorInjectionComponentTest.suite() );			
			ts.addTest( SetterInjectionComponentTest.suite() );
			
			return ts;
		}
	}
}